package cn.iocoder.yudao.module.contract.controller.admin.invoiceContract.vo;

import lombok.*;
import java.util.*;
import io.swagger.v3.oas.annotations.media.Schema;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;

@Schema(description = "管理后台 - 发票合同分页 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class InvoiceContractPageReqVO extends PageParam {

    @Schema(description = "公司(多选)")
    private String[] xfmcList;

    @Schema(description = "购买方")
    private String gfmc;

    @Schema(description = "购买方筛选类型")
    private String gfmcType;

    @Schema(description = "订单号")
    private String ddh;

    @Schema(description = "订单号筛选类型")
    private String ddhType;

    @Schema(description = "合同号")
    private String contractNo;

    @Schema(description = "合同号筛选类型")
    private String contractNoType;

    @Schema(description = "合同类型(多选)")
    private String[] contractTypeList;

    @Schema(description = "运输方式(多选)")
    private String[] vsbedList;

    @Schema(description = "生成方式")
    private String generationType;

    @Schema(description = "签收状态")
    private String isSignIn;

    @Schema(description = "合同状态(多选)")
    private String[] statusList;

    @Schema(description = "雇员名称")
    private String qyusername;

    @Schema(description = "雇员名称筛选类型")
    private String qyusernameType;

    @Schema(description = "区域名称")
    private String salesmethodname;

    @Schema(description = "区域名称筛选类型")
    private String salesmethodnameType;

    @Schema(description = "开票月")
    private String invoiceMonth;

    @Schema(description = "合同生成时间")
    @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
    private LocalDateTime[] generatedTime;

    @Schema(description = "回收总状态")
    private String recycleStatus;

    @Schema(description = "管控类型")
    private String zzhtgklx;


    @Schema(description = "排序字段")
    private String prop;
    @Schema(description = "排序类型")
    private String order;
}